
export interface ProgramInfo {
    id: number
    new: boolean
    thumbnailSrc: string
    syncFlag: number
    type: number
    second: number
    duration: number
    seconds: number
    scenesCount: number
    resolution_id: number
    group_id: number
    name: number
    width: number
    height: number

    resources: Resource[]

    scenes: Scene[]
}

export interface Resource {
    size: number
    name: string
    type: number
    resId: number
    value: string
    url: string
    md5: string
}

export interface Scene {
    thumbnailSrc: string
    active: boolean
    type: number
    version: number
    duration: number
    name: string
    width: number
    id: string
    programId: number
    order: number
    height: number

    section: Section[]
}


export interface Section {
    name: string
    active: boolean
    id: string
    css: Css
    elements: Element[]
}

export interface Css {
    borderColor: string
    borderRadius: number
    borderWidth: number
    width: number
    x: number
    y: number
    opacity: number
    borderStyle: string
    height: number
    zIndex: number
}

export interface Element {
    resizable: boolean
    resizing: boolean
    draggable: boolean
    lock: boolean
    moving: boolean
    full: boolean

    active: boolean
    id: string
    type: number
    order: number
    name: string

    css: ElementCss
    property: EleProperty
}

export interface ElementCss{
    x: number
    width: number
    y: number
    opacity: number
    height: number
}

export interface EleProperty{
    color: string
    transparent: boolean

    res: Res[]
    resConfigs: ResConfigs
}

export interface Res {
    duration: number
    thumbnailSrc: string
    size: number
    effectval: number
    name: string
    type: number
    resId: number
    value: string
    url: string
    md5: string
}

export interface ResConfigs {
    duration: number
    effectval: number
    global: boolean
}